c语言实现10个数由小到大排序(快速排序法)

您所在的位置:网站首页 c语言 快速排序法 c语言实现10个数由小到大排序(快速排序法)

c语言实现10个数由小到大排序(快速排序法)

2024-07-11 17:28| 来源: 网络整理| 查看: 265

快速排序原理: 从序列“2,3,5,7,9,6,4,1,0,8”两端开始 (1)首先将2作为基准数,应用2个变量i和j分别指向序列左端和右端; (2)首先从j左往右寻找一个小于2的数,i从右往左寻找一个大于2的数; (3)找到了0和3进行第一次交换,继续搜索; (4)1和5进行第二次交换; (5)当i和j都到1数值1时,表明第一轮交换结束,将基准数2和1进行交换,以基准数2为分界点,2的左边都小于等于2,2的右边都大于等于2; (6)2的左边序列为“1,0”,2的右边序列为“7,9,6,4,5,3,8”; (7)最后调用递归分别处理左边序列和右边序列即可。

这里写图片描述 程序如下:

#include //序列“2,3,5,7,9,6,4,1,0,8” void QuickSort(int a[],int left,int right) { int i,j,temp,tp; temp=a[left]; //暂存基准数 i=left; //最左位置 j=right; //最右位置 if(left>right) //递归结束条件 return; while(i!=j) //当i和j不重合时 { while(a[j]>=temp && i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3